home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- PAULA ][
-
- (Paula, die Zweite!)
-
-
-
-
-
-
- Ein Amiga-MODfile-Player
- für den Atari TT & STE
-
- Version 2.4
- 15.9.1994
-
-
-
- Shareware von: Pascal Fellerich
-
-
-
- Shareware
- =========
- Ab der Version 2.0 ist Paula Shareware. Das bedeutet, daß Sie das
- Programm frei kopieren, weitergeben und testen dürfen. Sobald Sie es
- aber regelmäßig nutzen, wird die Registrierung fällig.
-
- Ursprünglich war Paula nur ein kleines Utility zum Abspielen von
- MODfiles, das ich innerhalb relativ kurzer Zeit erstellt habe. Da die
- Reaktionen auf die 1.x-Versionen (die Freeware waren und auch noch
- sind...) aber sehr positiv waren und viele Anregungen und
- Verbesserungsvorschläge kamen, habe ich Paula in großen Teilen
- neugeschrieben. Da mittlerweile auch schon 'etwas mehr' Arbeit in
- diesem Programm drinsteckt, ist Paula nun Shareware geworden. Lesen Sie
- hierzu mehr im Abschnitt 'Registrierung'.
-
- Folgende Dateien gehören zum 'PAULA'-Paket und müssen immer zusammen
- weitergegeben werden:
-
- 1. PAULA.APP das Programm (kann auch den Namen PAULA.ACC oder
- PAULA.PRG tragen)
- 2. PAULA_D.TXT die deutsche Anleitung, ASCII Format
- 3. PAULA_E.TXT die englische Anleitung, ASCII Format
- 4. MP.TTP ModPlay: Module auch aus CLI's abspielen.
- 5. MP.C Der Sourcecode zu ModPlay
- 6. MP.PRJ Project-File für Pure-C
- 7. CHECKMOD.TTP Prüft Module auf Korrektheit und repariert
- kaputte Module, soweit dies möglich ist.
-
- Falls Ihre PAULA-Version einen Schlüssel(** Die Versionen 2.0 bis 2.3
- und möglicherweise auch Versionen ab 2.5 benötigen einen sogenannten
- 'Schlüssel', damit es sich um eine richtige Vollversion handelt.**)
- benötigt: Die Datei 'PAULA.INF' darf nicht mit weitergegeben werden, da
- diese Datei unter anderem die Registrierdaten enthält.
- Selbstverständlich sind alle Manipulationen an dem Programm und an
- den begleitenden Dateien untersagt. Die Verteilung über Mailboxen und
- PD-Versender ist erlaubt; jedoch ändert das nichts an den
- Registrierbedingungen.
-
- Alle Rechte an Paula liegen bei P. Fellerich.
- Kontaktadresse: Pascal Fellerich
- 45, rue des Genêts
- L-3482 Dudelange
- (Luxembourg)
-
- Postscheckkonto: CCP 65407-29
- Bankkonto: BIL 6-117/8499
- E-Mail: 2:270/16.3 (Fido-Net)
- fellerich@fido.lu (Internet)
-
-
- Registrierung
- =============
- Paula ist Shareware. Das bedeutet, daß bei regelmäßiger Benutzung eine
- Zahlung fällig wird. Die Versionen 2.0 bis 2.3 wurden erst durch
- Eingabe eines speziellen, beim Autor erhältlichen Code zur Vollversion.
- Die Version 2.4 aber hat keinerlei solche Hindernisse eingebaut. Um
- die Zahlung des Sharewarebetrags zu erleichtern, gilt jetzt: Sie
- bestimmen selbst den zu zahlenden Betrag! Wenn Sie sich registrieren
- lassen wollen, schicken Sie mir:
-
- · Ihre Anschrift (bitte leserlich):
- Name: <Vorname> <Name> (30 Zeichen maximal)
- Addr: <Straße> (30 Zeichen maximal)
- City: <Plz> <Stadt> (30 Zeichen maximal)
-
- · Den Sharewarebeitrag, den Sie selbst festlegen, mit dem Vermerk,
- daß es um Paula geht. Der Einfachheit halber akzeptiere ich nur noch
- Bargeld oder Überweisungen in LUF oder BFR auf mein Konto.
-
- Sie erhalten dann den Schlüssel zu Paula 2.x, der für ältere und
- eventuell auch folgende Versionen benötigt wird; die Mitteilung erfolgt
- schriftlich (Brief oder E-Mail). Bei Fragen und/oder Problemen mit
- Paula ][ helfe ich auch gerne weiter.
-
-
- Wozu Paula?
- ==========
- Paula spielt die sogenannten 'MOD-Files' auf dem DMA-Soundchip des
- STE/TT ab. Diese MODfiles, auch als 'Module' bezeichnet, stammen
- ursprünglich vom Amiga, der einen speziellen 4-Kanal Soundchip namens
- 'Paula' besitzt.
-
- Natürlich gibt es haufenweise Modul-player für den Atari. Aber Paula
- ist einzigartig - aber überzeugen Sie sich selbst!
-
-
- Was kann Paula?
- ===============
- Um lange Beschreibungen zu vermeiden hier eine stichwortartige
- Aufzählung der 'Features' von Paula 2:
- · Kompatibel zu wirklich allen MOD-Formaten, vom Uralt- Soundtracker
- Format über Noisetracker bis zum Protracker, ohne Wenn und Aber.
- · Drei Samplingfrequenzen zur Auswahl: 12.5, 25, 50 KHz (mit Petra
- auf ST's sind 6, 9.6 und 12 KHz möglich)
- · Lineare Interpolation der Samples zur Verbesserung der
- Klangqualität, in Echtzeit.
- · Booster - verbessert den Signal-Rauschabstand um 6 dB.
- · Tonhöhenveränderung ohne Beeinflussung der Geschwindigkeit.
- · Geschwindigkeitsänderung ohne Beeinflussung der Tonhöhe.
- · Unterstützt LZ5 oder AFX gepackte Module.
- · Echte und saubere GEM-Einbindung, dadurch auf allen TOS- Rechnern
- lauffähig - auch unter MultiTOS/MiNT.
- · Einfache und intuitive Bedienung.
- · Unterstützt die Auswahlmöglichkeiten von Selectric™ und Gemini.
- · Programmierbar wie einfache CD-Spieler.
- · Random: Mehrere Module werden in zufälliger Reihenfolge gespielt.
- · Repeat-schalter; Module bzw. ganze Programme können wiederholt
- werden.
- · Anzeige der Prozessorbelastung und der Position im Modul.
-
-
- Paulas Entstehungsgeschichte
- ============================
- Als ich meinen TT bekam, wollte ich natürlich den neuen Soundchip
- testen - also habe ich mir einige MOD-Player für den STE geholt. Nur
- liefen die meisten Player nicht auf dem TT oder aber sie produzierten
- einen eher miesen Sound. Was blieb mir anderes übrig, als selbst
- einen Player zu schreiben. Aber das war einfacher gesagt als getan,
- denn außer der STE/TT Soundhardware mußte ich auch noch die Amiga-
- Soundhardware kennen, da ich einen Uralt-Player vom Amiga (D.O.C.
- Abspiel-routine 2.0 vom Juni 1986) portieren wollte. Ein paar Wochen
- später, Ende Juli 1991 war's dann soweit - Paula 1.0 war fertig. Zwar
- kannte das Programm nur die Soundtracker-Kommandos aber es lief erst
- einmal. Anschließend folgten noch einige Optimierungen und
- Verbesserungen (Version 1.5), aber dann war Schluß.
- Erst im April 92 nahm ich die Entwicklung infolge einer Diskussion in
- der Mailbox (ATARI.GER im Fidonet) wieder auf - es entstanden die
- Versionen 1.7 und 1.8. Mittlerweile war die Tonqualität ganz brauchbar
- geworden, aber mit dem Bedienungskomfort war es nicht weit her. Also
- begann ich mit der Entwicklung einer 'anständigen' Benutzeroberfläche
- für den Player. Das war's dann...
-
-
- Systemvoraussetzungen
- =====================
- Paula läuft auf allen Atari-Computern, die
- 1. ein TOS-kompatibles Betriebssystem haben, mindestens aber TOS 1.4
- 2. eine STE-kompatible Soundhardware besitzen... oder den Sound-
- treiber PETRA installiert haben.
- Damit ein sinnvoller Hintergrundbetrieb möglich ist, sollte der
- Computer möglichst viel Rechenleistung haben. Auf einem einfachen 8 MHz
- STE ist der Hintergrundbetrieb zwar möglich aber wenig sinnvoll
- (12.5KHz Ausgabe bei 50% Rechenzeitverbrauch). Ein 'voll
- aufgedrehter' Mega STE sollte es schon sein - dann ist bei 50% CPU-
- Zeit 25KHz Ausgabe möglich.
-
- Damit Paula auch ST's ohne DMA-Hardware läuft, ist ein spezieller
- Sound-Treiber nötig, der die Funktionalität der DMA- Soundhardware
- nachbildet. Einen solchen Treiber wurde von Christian Limpach
- geschrieben, heißt 'PETRA' und liegt diesem Paket bei. Hinweise zur
- Benutzung finden Sie als Textdatei bei dem Programm.
-
-
- Installation
- ============
- Paula kann als Accessory (Endung .ACC) oder als Programm (Endung .PRG
- oder .APP) gestartet werden. Im Allgemeinen ist der Accessory-Betrieb
- vorzuziehen. Natürlich kann Paula auch von Chameleon geladen
- werden. Unter MultiTOS oder Magix kann Paula aber auch als Programm im
- Hintergrund laufen.
- Außerdem ist es empfehlenswert, XCONTROL gleich mit zu installieren
- (falls nicht schon vorhanden), um Lautstärke, Tiefen, Höhen und Balance
- einstellen zu können. Dann sollte der Rechner noch an die Stereoanlage
- angeschlossen sein, damit Ihre Mitbewohner möglichst effektiv in
- ihrer Nachtruhe gestört werden können.
-
-
- Anleitung
- =========
- Nachdem Paula gestartet worden ist, erscheint ein Fenster mit
- dem Haupt-Dialog. Dieser ist optisch in 6 Bereiche aufgeteilt:
- 1. Infozeile
- 2. Player & Sound Setup
- 3. SampleFreq
- 4. CPU Load
- 5. Position
- 6. Das Tastenfeld
- Es folgt nun die obligate Erklärung der einzelnen Schalter und
- Knöpfe, danach kommen allgemeine Bedienungshinweise.
-
-
- Das Tastenfeld
- ==============
- Beginnen wir mit dem Einfachsten, dem Tastenfeld. Es ist aufgebaut
- wie bei einem Kassettenrecorder, daher sollte die Bedienung keine
- Probleme bereiten. Zusätzlich ist in jedem Tastensymbol ein Buchstabe
- untergebracht. Das ist der zugehörige Tastatur-'Shortcut'.
-
- LOAD: Zuerst muß natürlich ein Modul geladen werden, dazu dient
- dieser Knopf. Es erscheint die Fileselektor-Box und Sie können ein
- Modul auswählen. Bei 'OK' lädt Paula sofort die ausgewählte Datei.
- Bei Erfolg erscheint in der Infozeile des Fensters der Text 'Stopped:
- <modfilename>'. Eventuell auftretende Fehler werden sofort mit einer
- Alertbox quittiert. Mit 'Selectric™' als Fileselektor können Sie auch
- mehrere Dateien gleichzeitig auswählen!
-
- STOP: Beendet das Abspielen eines Moduls und setzt Paula zurück.
- Waren mehrere Dateien ausgewählt, so wird diese Programmierung von
- Paula auch aufgehoben. Die Statusanzeige zeigt den Text 'Stopped: ...'.
- Wenn im Accessory-Betrieb in diesem Zustand das Fenster geschlossen
- wird, gibt Paula den für das letzte Modul reservierten Speicher frei.
-
- PLAY: Startet das Abspielen. Wenn noch keine Datei(en) geladen war,
- erscheint zuerst der Fileselektor mit der Aufforderung 'Load MODfile'.
- Wurden mehrere Module angegeben, dann wird das laufende Modul beendet
- und Paula geht zum nächsten Modul in der Liste über.
-
- PAUSE: Dient dazu, das Abspielen zeitweilig anzuhalten. Im Gegensatz zu
- 'STOP' wird dabei nichts gelöscht, zurückgesetzt oder sonstwie
- beeinflußt. Im 'Pause'-Zustand kann das Accessory auch verlassen
- werden, ohne daß die geladene Datei freigegeben wird. Zum Weitermachen
- reicht es, einmal Pause oder Play anzuklicken.
-
- REW: (REWIND) Springt eine Position im Modul zurück. Diese Funktion
- arbeitet nur wenn der Paula sich im Play- oder Pause- Modus befindet.
-
- FF: (FAST FORWARD) Springt eine Position nach vorne im Modul, nicht
- jedoch über das Ende hinaus. Auch dies Funktion arbeitet nur im Play-
- oder Pause-Modus.
-
- !: (Ausrufezeichen) Ruft den 'Setup' Dialog auf, in dem einige
- weitere Funktionen wie Tonhöhen- und Geschwindigkeitsveränderung sowie
- Parameter sichern zur Verfügung stehen.
-
- ?: (Fragezeichen) Allgemeine Information über das Programm und den
- Autor. Über diesen Dialog ist auch das Registriermenü zugänglich. Wie
- die Registrierung vorgenommen wird, ist im Abschnitt 'Registrierung'
- beschrieben.
-
- Am Besten ist wenn Sie alle Funktionen einmal ausprobieren. Paula ist
- durch unsinnige oder falsche Bedienung nicht aus der Ruhe zu bringen!
-
-
- Die Infozeile
- =============
- In der Infozeile zeigt Paula die aktuelle Betriebsart und eventuell
- einen Modul-Titel an. Es gibt vier Zustände:
-
- Inactive: Paula tut gar nichts. Es ist keine Datei geladen und somit
- auch kein Speicher belegt. Im Accessorybetrieb muß Paula vor dem
- Auflösungswechsel in diesem Zustand sein um Speicherverlust oder gar
- Abstürze zu vermeiden.
-
- Stopped: Paula hat ein Modul geladen. Im Accessorybetrieb führt ein
- Auflösungswechsel jetzt zu Speicherverlust, da der von Paula allozierte
- Speicher nicht mehr freigegeben werden kann.
-
- Paused: Paula wartet darauf, weiterspielen zu dürfen. Jetzt können
- Sie auch mit den Tasten '<<' und '>>' im Modul hin- und herspringen.
-
- Playing: Paula ist beschäftigt - das sollten Sie auch hören! Wenn
- jemand anders auf den DMA-Soundchip zugreift, wird Paula dadurch
- natürlich gestoppt. Sobald der Soundchip wieder frei ist, versucht
- Paula weiterzuspielen. Das kann bis zu einer Sekunde dauern
- (funktioniert NICHT in Verbindung mit 'Petra'). Läuft der Player
- trotzdem nicht mehr an (-> Bugreport an mich!) können Sie sich helfen
- indem Sie einfach PAUSE/PLAY oder PAUSE/PAUSE drücken.
-
-
- SampleFreq
- ==========
- Damit kann die Samplingfrequenz bei der Tonausgabe eingestellt werden.
- Zur Auswahl stehen die Frequenzen 12.5, 25 und 50 KHz. Je höher die
- Samplingfrequenz, desto höher auch die obere Grenzfrequenz. Theoretisch
- ist die höchstmögliche erzeugt Tonfrequenz genau fsample/2
- (Shannon'sches Abtasttheorem); praktisch etwa 40% der Abtastfrequenz
- infolge der im STE/TT verwendeten Filterstufen. Bei 25 KHz
- Samplingfrequenz können also Töne von bis zu 10 KHz sauber erzeugt
- werden.
- Die Änderung der Samplingfrequenz wird sofort übernommen. Beim
- Umschalten wird der Ton kurzzeitig unterdrückt, um Störgeräusche
- (Krachen, Zirpen usw.) zu vermeiden.
-
- Player & Sound Setup
- In diesem Bereich befinden sich zwei Arten von Schaltern:
- · Schalter zur Beeinflussung der Tonerzeugung
- · Schalter zur Einstellung der Abspielmodi
-
- ג Interpolate: Schaltet die Interpolation ein. Dadurch verbessert sich
- die Tonqualität sehr stark (saubere Höhen), aber es kostet viel
- Rechenzeit. Auf TT's ist Interpolation eigentlich ein Muß, da der 68030
- die nötigen Shift- und Multiplikationsbefehle sehr viel schneller als
- der 68000 bewältigt. Das Gesagte gilt übrigens auch für STE's mit 68020
- oder 68030 Beschleunigerkarte.
-
- ג Booster: Hebt die Lautstärke mit einem Trick um 6 dB an. Dadurch
- wird das Hintergrundrauschen besser verdeckt, allerdings nehmen die
- Verzerrungen bei lauten Passagen zu. Da diese Verzerrungen aber zweiter
- Ordnung sind, klingt das Ganze nach 'Röhrensound'.
-
- ג Protracker: Schaltet die Protracker-Kompatibilität ein. Im Prinzip
- sind die Module zwar abwärtskompatibel, so daß ein neuerer Player auch
- alte Module abspielen kann, aber mit dem Protracker wurden soviele
- Veränderungen eingeführt, daß bei verschiedenen Modulen diese
- Abwärtskompatibilität nicht mehr gegeben ist. Deshalb ist dieser
- Schalter vorgesehen, um im Falle eines 'kritischen' Moduls einige
- (nicht alle!) Protracker-Features ausschalten zu können. Bei 15-
- Instrument-Modulen wird dieser Schalter nicht beachtet, da es sich
- nicht um ein Protracker-format handeln kann.
-
- ג Repeat: Dieser Schalter erfüllt eine Doppelfunktion. Falls nur ein
- Modul ausgewählt wurde, bezieht sich Repeat auf das eine Modul. Das
- wird dann solange abgespielt, bis Sie Paula selbst unterbrechen. Wurden
- mehrere Module ausgewählt, so wirkt Repeat auf diese Liste von Modulen.
- Nachdem alle Module einmal abgespielt worden sind, beginnt Paula
- wieder von vorne. Übrigens existieren Module, die mit 'Jump'-Befehlen
- eine Endlosschleife aufbauen. Paula erkennt diese und knackt sie...
-
- ג Random: Die Karten werden gemischt... Diese Funktion arbeitet nur,
- wenn mehrere Module ausgewählt worden sind. Nun werden die Module nicht
- mehr der Reihe nach abgespielt, sondern in einer zufälligen
- Reihenfolge - aber jedes Modul nur einmal. Sind alle Module
- abgespielt, hängt die weitere Verfahrensweise vom 'Repeat'-Schalter
- ab: ist er eingeschaltet, beginnt der Prozess wieder von vorne,
- andernfalls stoppt Paula und 'vergißt' die eben gespielte Liste.
-
-
- CPU-Load Indikator
- ==================
- Dieser Balken zeigt an, wieviel Rechenzeit Paula für sich abzweigt.
- Es handelt sich hier um eine relative Anzeige, bei der 100% immer die
- gesamte Rechenleistung des Computers darstellen.
- Am rechten Ende des Balkens befindet sich noch ein rotes Anhängsel -
- das ist die Überlastungsanzeige, die jedesmal, wenn die Rechenzeit mal
- nicht gereicht hat, für eine knappe Sekunde 'aufleuchtet'.
-
-
- Position
- ========
- Diese Anzeige gibt die aktuelle Position im Modul an. Die Position
- wird Hexadezimal angezeigt, so wie das bei den Sound/Noise/Pro-trackern
- üblich ist.
-
-
- Allgemeine Bedienungshinweise:
- ==============================
- Die grundsätzliche Bedienung ist kein Geheimnis und sollte niemandem
- Probleme bereiten. Aber die Spezialitäten wollen doch genauer erklärt
- sein. Darunter fallen:
- · Verlassen des Haupt-Dialogs
- · Mehrfachauswahl von Modulen ('Multiplay-Modus')
- · Reaktion des Tastenfeldes
- · Versteckte Funktionen
-
- Wenn das Fenster mit dem Haupt-Dialog im Accessory-Betrieb
- geschlossen wird, läuft der Player weiter. Analog zu XCONTROL kann
- dieses Fenster auch mit Return geschlossen werden.
-
- Läuft Paula als normales Programm, wird es durch Schließen des
- Fensters verlassen und das laufende Modul wird angehalten. Deshalb wird
- in dieser Betriebsart Return nicht als CloseWindow-Kommando
- interpretiert.
-
- Mehrfachauswahl... Die einfachste Art, mehrere Dateien anzugeben,
- besteht darin, in der Fileselektorbox eine Dateimaske (Wildcards)
- anstelle des erwarteten Namens anzugeben. Also LOAD anklicken, und in
- der Fileselektorbox im Namensfeld beispielsweise 'A*.
- MOD' eingeben. Paula sucht dann alle Dateien in dem angegebenen Pfad,
- die mit 'A' beginnen und deren Endung '.MOD' ist. Natürlich müssen im
- eingestellten Verzeichnis auch Module liegen! Um alle Module im
- angegebenen Pfad abzuspielen reicht es, keinen Namen anzugeben. Paula
- wählt dann alle Dateien aus, die die Endung '.MOD' haben.
-
- ...mit Selectric: Falls Sie 'Selectric™' als Fileselektorbox
- installiert haben, wird es noch einfacher: wählen Sie einfach die
- gewünschten Dateien an. Das geschieht mit einem Mausklick mit
- gedrückter Shift-Taste; weitere Selektionsmöglichkeiten sind in der
- Anleitung zu Selectric™ beschrieben.
-
- ...mit dem Desktop, Gemini, EASE u.s.w: Melden Sie PAULA als
- Applikation für Dateien des Typs 'MOD' an. Paula wertet nicht nur die
- Kommandozeile aus, sondern versteht auch VA_START Nachrichten.
-
- Reaktion des Tastenfeldes: Paula versucht immer, den aktuellen
- Betriebszustand beizubehalten. Wenn schon ein Modul läuft ('Playing:
- ...') und Sie wählen ein anderes Modul aus - egal ob mit der Taste
- 'LOAD' oder mit Gemini - dann spielt Paula sofort nach dem Laden des
- Moduls weiter.
-
- Wenn Paula gestoppt war und Sie wählen mehrere Module per 'LOAD' aus,
- springt Paula sofort in den Pause-Modus. Dies muß geschehen, weil Paula
- die eben angegebene Liste im Stop-Modus sofort vergessen würde. Auch
- hier ist es am einfachsten, sich durch Probieren an die Funktionsweise
- des Programms zu gewöhnen.
-
- Spezialitäten: Paula ist an Multitasking-Umgebungen angepaßt. Das
- begreift folgende Funktionen:
- · Paula wertet seine Kommandozeile aus.
- · Paula versteht VA_START sowie eigene (MP_...)-Nachrichten
- · Paula erkennt bereits laufende Kopien von sich selbst und
- übergibt die Kontrolle an das zuerst gestartete Programm. Es kann also
- immer nur eine Kopie ('Instanz') von Paula laufen(** Das gilt nicht
- für die Accessory-Version: Paula kann beliebig oft als ACC
- installiert werden.**).
-
-
- Setup-Page - Dialog
- ===================
- Dieser Dialog wird aufgerufen, wenn Sie die Taste '!' betätigen. Hier
- stehen die Optionen zur Tonhöhenveränderung und zum Abspeichern der
- Einstellungen bereit.
-
- Pitch Bend (cent): Damit läßt sich die genaue Stimmung des Players
- beeinflussen. In der Grundeinstellung hat Paula die gleiche Stimmung
- wie ein Amiga mit 7.15909 MHz (NTSC). PAL- Amigas sind aber mit nur
- 7.09379 MHz getaktet, klingen also tiefer. Diese Stimmung wird
- erreicht, wenn Pitch-Bend auf -10 bis -15 cent steht. So ganz genau
- braucht diese Einstellung nicht zu sein, da eine Tonhöhenänderung um 5
- cent sowieso die unterste Grenze der Wahrnehmbarkeit darstellt. Der
- Einstellbereich geht von +100 bis -1 00 cent, was +/- einem Halbton
- entspricht.
-
- Transpose: Für's Grobe. Ändert die Stimmung in Halbtonschritten. Der
- Einstellbereich ist +/- 12 Halbtöne, was +/- einer Oktave entspricht.
-
- Frame Speed: Das ist die 'Taktgeschwindigkeit', mit der die Modul
- abgearbeitet wird. Beim Amiga kommt dieser Takt vom VBI (Vertical Blank
- Interrupt) und beträgt somit 50 Hz bei PAL- Amigas. Da Paula ohnehin
- alles emuliert, ist auch dieser Parameter einstellbar - von der halben
- bis zur doppelten Sollgeschwindigkeit.
-
- Save: Sichert die gegenwärtig eingestellten Parameter in der Datei
- 'PAULA.INF' und verläßt den Dialog. Es werden auch die im Hauptdialog
- gemachten Einstellungen gesichert.
-
- Exit: Verläßt den Dialog. Die Einstellungen werden nicht beeinflußt.
-
- Reset: Setzt die drei Einstellung zurück und verläßt den Dialog.
-
-
- Info Page Dialog:
- =================
- Die obligate Informationsbox... Eine beliebte Art, auf die fällige
- Registrierung aufmerksam zu machen.
-
-
- Gepackte Module!
- ================
- Seit Version 2.1 unterstützt Paula auch gepackte Module. Zur Zeit wird
- nur das '-lz5-'-Verfahren benutzt, also das Gleiche wie bei AFX. Um
- Module entsprechend zu komprimieren, können Sie LHARC.TTP, ab Version
- 2.01 benutzen. Damit läßt sich ein ganzes Directory einfach und
- einigermaßen schnell packen. Wenn Sie alle Module in C:\MODFILES\
- untergebracht haben, starten Sie LHARC.TTP und geben als Kommandozeile
- 'c C:\MODFILES\*.MOD' ein. Die Dateien behalten den gleichen Namen,
- schrumpfen aber auf durchschnittlich 75% ihrer Originalgröße.
-
-
- Fehlermeldungen
- ===============
- Paula meldet eventuell auftretende Fehler per Alertbox. Dies sind
- normalerweise immer Dateifehler. Um Probleme mit plötzlich
- auftauchenden Alertboxen zu vermeiden, erfolgen diese Fehlermeldungen
- nicht, wenn Paulas Fenster geschlossen ist.
- Es seien die Module A.MOD, B.MOD und C.MOD angegeben. Paula beginnt mit
- A.MOD, danach wird das Fenster geschlossen. Nachdem A.MOD fertig ist,
- versucht Paula B.MOD zu laden. Wenn das schiefgeht, stoppt Paula alle
- Aktionen und 'vergißt' die angegebene Liste. Wenn Sie nun Paula erneut
- aufrufen und 'LOAD' anklicken, erscheint im Fileselektor der zuletzt
- benutzte Pfad und Dateiname.
- Wenn die Meldung 'Corrupted MODfile' kommt, bedeutet das, daß das
- angegebene Modul fehlerhaft ist. Oft ist ein Sample zu kurz oder es
- hängen falsche Daten am Modul dran. Als kleine Hilfestellung steht
- Ihnen das TOS-Programm 'CHECKMOD.TTP' zur Verfügung. Es liest Module,
- gibt Informationen darüber aus und kann die Module in vielen Fällen
- reparieren, so daß Paula sie wieder akzeptiert.
-
-
- Weiterführende Erklärungen
- ==========================
- In einem Modul sind bis zu 31 Samples, manchmal auch als Instrumente
- bezeichnet, gespeichert. Um ein bestimmtes Sample in verschiedenen
- Tonhöhen auszugeben, spielt der Amiga das Sample einfach mit
- verschiedenen Abtastfrequenzen ab. Je höher die Abtastfrequenz, desto
- höher der erzeugte Ton. Da der Amiga vier unabhängige Tonkanäle
- besitzt, kann er vier Samples gleichzeitig abspielen, mit verschiedenen
- Abtastfrequenzen versteht sich. Damit ist die Tonerzeugung sehr einfach
- und kostet keine Rechenzeit. Auf dem Atari ist die Sache schon
- schwieriger: der STE/TT DMA-Soundchip hat nur zwei Kanäle (Stereo L +
- R), außerdem stehen nur vier Abtastfrequenzen zur Auswahl, wobei immer
- nur eine ausgewählt sein kann und für die beiden Stereo-Kanäle gilt.
- Also muß ein anderes Verfahren zur Tonerzeugung benutzt werden - die
- direkte digitale Synthese. Die Funktionsweise ist eigentlich ganz
- einfach: Die Daten des Originalsamples werden nicht mehr 1:1
- ausgegeben, sondern 1:R, wobei R eine Realzahl ist. Soll also ein
- Sample bei einer tatsächlichen Abtastrate von 10 KHz mit 5 KHz
- ausgegeben werden, ist R gleich 2 - jedes Byte wird zwei mal
- ausgegeben. Sind 7.5 KHz gewünscht, so gilt R=1.5 . Da in der Praxis
- nur ganzzahlige Schritte möglich sind, wird der erste Samplewert einmal
- ausgegeben, sein Nachfolger zwei mal, der nächste wieder einmal usw. Im
- Mittel ergibt sich dann 1.5, und das Ohr bekommt was will: 7.5 KHz.
- Nun hat dieses Verfahren das Problem, daß das Sample nicht
- gleichmäßig abgetastet wird. Beim oben erwähnten Beispiel ergibt sich
- folgendes Schrittschema:
- 1 1 0 1 1 0 1 1 0 1 1 0 1 1 0
- Bei tiefen Tönen, wenn ein Sample von 10 KHz auf 1 KHz 'tiefergelegt'
- wird, muß jedes Wort im Sample 10 mal ausgegeben werden - also erhält
- man das Schrittschema:
- 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 usw.
- Wenn man die dabei entstehende Kurve aufzeichnet dürften sofort die
- unregelmäßigen Treppen im Signal auffallen. Und genau diese Treppen
- werden als Störgeräusche (Sirren, Pfeifen) hörbar. Um dieses Problem zu
- umgehen müßten eigentlich Zwischenwerte eingebaut werden - und genau
- dies bewerkstelligt die Interpolation. Ideal wäre die Spline-
- Interpolation; da dies aber Matrixrechnen erfordert benutzt Paula eine
- einfach lineare Interpolation. Auch damit wird das erzeugte Signal
- 'glatter' und klingt besser. Das ist nicht zu verwechseln mit dem
- Oversampling, das einige MODplayer anbieten, und das darin besteht,
- jeden Samplewert zu verdoppeln um ihn dann mit der (ebenfalls)
- verdoppelten Samplingfrequenz auszugeben. Damit wird das Signal nur
- höhenlastiger, da die Filterstufen im STE/TT entsprechend anders
- eingestellt werden.
- Noch ein paar Worte zur Tonqualität: Durch die 'echte' Interpolation
- klingt Paula (die Emulation) bei 25 bzw. 50 KHz besser als Paula (Der
- Amiga-Chip)! Das liegt vor allem daran, daß der Amiga einen fest
- eingestellten 7 KHz Tiefpaßfilter hat, der die Höhen radikal
- wegrasiert. Wird der abgeschaltet, sind zwar die Höhen wieder da,
- aber auch die unvermeidlichen Aliasingprodukte. Skeptikern empfehle
- ich einen Amiga sowie dessen Hardware Reference Manual [2].
- Dem Amiga bleibt noch der Vorteil der größeren Dynamik, denn dort hat
- jeder der vier Kanäle seinen eigenen Lautstärkesteller, durch den 6 bit
- gewonnen werden. Der Rauschabstand zum Nutzsignal bleibt zwar bei 48 dB
- - normal für 8 bit - aber leise Module werden immer noch sauber
- abgespielt, wo Paula (die Emulation) schon mit dem
- Quantisierungsrauschen zu kämpfen hat. Die im Amiga eingesetzten
- Wandler können auch als 'Fließkommakonverter' bezeichnet werden. Um
- nicht das Nachsehen zu haben, bietet Paula die 'Boost'-Option. Dann
- wird eine nichtlineare Wandlerkennlinie benutzt, so daß eine Pseudo-
- Auflösung von 9 bit erreicht wird. Bei leisen Passagen wirkt das
- Wunder, bei lauten Passagen nehmen allerdings die Verzerrungen zu.
- Falls es Ihnen egal ist, wie die Interpolation funktioniert,
- überspringen Sie den folgenden Absatz! Falls nicht: Hier die
- Interpolationsroutine, der Übersichtlichkeit halber schematisch in C
- formuliert:
-
- /* Fix-Point Zahl, zu Angabe des Abtastschrittes */
- typedef struct fxp {
- int ip; /* integer part (1/1) */
- int fp; /* fractional part (1/65536) */
- } fixpoint;
- /* Holt ein Byte aus dem gespeicherten Sample und berechnet
- * den passenden Zwischenwert.
- * Param: spl: Zeiger auf das Sample
- * index: Index im Sample als Fixpoint-Zahl
- * volume: Amiga-Volumeregister Wert, 0..64
- * Return: Der resultierende Samplewert als integer.
- * Bereich: 14 bit (8 bit sample + 6 bit volume info)
- */
- int get_samplevalue( char *spl, fixpoint index, int volume )
- {
- int s1,s2; /* Samplewerte sn und sn+1 */
- s1 = volume * spl[index.ip];
- s2 = volume * spl[index.ip+1];
- return (((s2-s1)*index.fp)/65536 + s1);
- }
-
- Dann muß der Index inkrementiert werden, was auf eine Addition zweier
- Fixpoint-Zahlen hinausläuft, der Rückgabewert muß gespeichert bzw. auf
- den entsprechenden Wert eines anderen Kanals aufaddiert werden, das
- Ganze muß auf 8 bit zurückskaliert werden und nebenbei muß noch
- beachtet werden, daß ein Sample auch irgendwann zu Ende ist. Da vier
- Kanäle vorhanden sind, muß die obige Routine bei 50 KHz Ausgabefrequenz
- 200.000 (zweihunderttausend) Mal pro Sekunde ausgeführt werden. Damit
- dieser Vorgang in Echtzeit ablaufen kann, ist Rechenleistung und eine
- gehörige Portion Gehirnschmalz nötig, denn ohne jegliche Optimierung
- hätte selbst der 68030 keine Chance...
-
-
- Immer ein beliebtes Kapitel: BUGS & LIMITATIONS!
- ================================================
- Kollisionen: Prinzipiell verträgt sich Paula mit allen anderen
- Programmen; da Paula aber direkt auf die DMA-Soundhardware zugreift,
- sind Kollisionen mit anderen Programmen, die das Gleiche tun wollen,
- unvermeidlich. Solange das 'andere' Programm einigermaßen sauber
- programmiert ist und die Hardware stets in einem sauber definierten
- Zustand hinterläßt, passiert nichts - außer daß Paula gestoppt ist.
-
- Überlastung: Wenn der Rechner total überlastet ist, stimmt das
- interne Timing natürlich nicht mehr. Deshalb ist der Zeitpunkt, zu dem
- die Hardware-Register beschrieben werden, undefiniert. Dadurch kommt es
- manchmal vor, daß der Soundchip den falschen Speicherbereich
- abspielt, obwohl in den Chipregistern die richtigen Werte stehen
- (!) - dann gibt's Katzenmusik. Dagegen hilft: PAUSE, Samplingfrequenz
- herruntersetzen oder Interpolation ausschalten um Rechenzeit zu
- sparen, dann nochmals PAUSE. Oder hatten Sie etwa den Cache des 68030
- ausgeschaltet ???
-
- Auflösungswechsel: Vor jedem Auflösungswechsel muß sichergestellt sein,
- daß Paula inaktiv ist. Also Paula einmal aufrufen, 'S' (für STOP) und
- dann Return (Fenster schließen). Falls MultiTOS die spezielle (neu
- eingeführte) GEM-Message AP_TERM, die den bevorstehenden
- Auflösungswechsel ankündigt, an die einzelnen Programme schickt, kann
- Paula darauf mit der Einstellung aller Aktivitäten reagieren.
-
- Protracker 'CIA'-Replay-Speed: Seit Version 2.2 funktioniert das CIA-
- Speed-setup astrein, ohne Einschränkungen. Nachteil: Einige
- Noisetracker-Module werden jetzt falsch abgespielt. Abhilfe: Protracker-
- Modus ausschalten!
-
- Abstürze auf STE's: Irgendwie beißt sich Paula mit einigen 1040STE: Auf
- zwei STE's gab's totale Hänger, und auf einem mit 16MHz CPU
- ausgerüstetem 1040'er gab's Bomben wegen Cache-fehler, unabhängig vom
- Modul. Das ist ein Hardwareproblem dieser STE's, da kann man leider
- nichts machen. Ab v2.4 sind jedoch TAS-Befehle entfernt worden, was die
- Chancen für diese STEs erhöht.
-
-
- Internes
- ========
- GEM-Benutzerschnittstelle: Paula verarbeitet die von Gemini stammende
- 'VA_START'- Nachricht. In einer solchen Message ist in msg[3] und
- msg[4] ein Zeiger enthalten, der von Paula ausgewertet wird. Der Player
- reagiert folgendermaßen:
- · Nullpointer oder Zeiger auf Leerstring: Gleiche Reaktion wie bei
- AC_OPEN.
- · Zeiger auf String mit einem Namen: Paula lädt dieses Modul und
- startet es sofort.
- · Zeiger auf String mit mehreren Namen: Paula geht in den
- 'Multiplay'-Modus über und spielt alle MODs.
-
- Der übergebene String wird intern kopiert, kann auf der Aufruferseite
- lokal sein. Wichtig ist nur, daß Dateinamen im String durch genau ein
- Space/Komma/Semikolon getrennt sind und daß keine Wildcards benutzt
- werden. Zur Komplettierung des Dateinamens wird intern SHEL_FIND
- benutzt.
-
- Ab Version 2.4 gibt es auch neue GEM-Messages:
- · MP_ACK (0x4800): Paula sagt OK! Das vorige Kommando ist verstanden
- worden. msg[7] enthält die Versionsnummer des Programms; 0x204 =
- v2.4
- · MP_NAK (0x4801): Paula sagt NICHT OK! Das vorige Kommando ist
- nicht verstanden bzw. abgelehnt worden. msg[7] enthält die
- Versionsnummer des Programms; 0x204 = v2.4
- · MP_START (0x4802): Funktion ist identisch mit VA_START. Nach
- Übernahme des Kommandostrings schickt Paula aber eine MP_ACK
- (bzw. MP_NAK)-Nachricht an den Absender zurück, und signalisiert
- so, daß der in der MP_START-Nachricht angegebene Speicherbereich
- anderweitig benutzt werden kann. Dies ist sehr wichtig in
- Multitasking-Systemen bzw. für MP.PRG (Sourcecode MP.C liegt bei).
- · MP_STOP (0x4803): Stoppt Paula und gibt den für MODs und Playlisten
- allozierten Speicher frei. Das Fenster bleibt offen. Paula
- schickt MP_ACK zurück.
- · MP_SHUTDOWN (0x4804): Stoppt und beendet Paula. Im Accessory-
- Modus wird nur der Speicher freigegeben und das Fenster
- geschlossen.Paula schickt MP_ACK zurück.
-
- Vektorverbiegerei... Paula belegt den I07 (monochrome monitor
- detect) - Interrupt der 68901 MFP. Dazu wird eine XBRA-Kennung 'PAUL'
- benutzt.
-
- Speicherverbrauch: Paula benötigt rund 45 KB für den Programmcode und
- fixe Daten. Auf Maschinen mit dem 68000-Prozessor kommen noch 15 KB für
- Volumetabellen hinzu.
-
- Notstop: Um Paula sofort 'abzuwürgen' und zur Freigabe des allozierten
- Speichers zu zwingen, reicht es, eine AP_TERM-Message zu schicken.
- (AP_TERM = GEM message Nummer 50). Allerdings sollte dazu besser
- MP_SHUTDOWN verwendet werden.
-
- Speeeeed! Um auf dem TT möglichst wenig Rechenzeit zu verbraten,
- sollte Paula komplett ins 'Fast'-RAM geladen werden (soweit vorhanden).
- Der Prozessorcache sollte dabei unbedingt eingeschaltet bleiben, sonst
- sackt der TT auf ST-Leistung ab. Ohne Cache wird's selbst auf dem TT
- sehr knapp bei 50 KHz Interpolation (wobei zu bemerken ist, daß ein
- gewisser anderer MODplayer 50 KHz Interpolation selbst bei
- eingeschaltetem Cache kaum noch meistert!).
-
- Hardware: Weder der MFP-Timer A noch der Yamaha Soundchip werden
- angetastet. Somit bleibt Ihnen der Tastaturklick und die Systemglocke
- erhalten, es ist darüber hinaus noch möglich, digitale Soundeffekte mit
- dem Yamaha-Chip zu erzeugen. Mit STSPEECH.TOS lassen sich beliebige
- Texte in ein laufendes Modul einblenden.
-
- Entwicklung: Paula 2 wurde mit Pure C und dem Pure Assembler
- entwickelt. Der eigentliche 'MODplayer', also die Replay-Routine,
- basiert auf dem 'Protracker 2.1B Player' der Amiga Freelancers.
-
- Thanx for the help...: Hilfreich zur Seite standen mir:
- Joel François: Amiga Dokumentationen, D.O.C. Replay Routine
- Fridolin Koch: Protracker Replay Routine, gute Module
- Georges Kesseler: Betatester, Optimierungsvorschläge, 'Repeat-Killer'
- Christian Limpach: Betatester, ST-Sound Treiber!
-
-
- MP - ModPlay Interface
- ======================
- MP.PRG ist ein sehr einfaches Utility, mit dem es möglich ist, Paula
- auch aus Kommandoshells heraus zu starten. MP schickt die in der
- Kommandozeile angegebenen Dateien einfach in einer 'MP_START'-Nachricht
- verpackt an Paula weiter. Wildcards werden nicht von MP ausgewertet;
- dafür kennt MP aber das ARGV- Verfahren (beim Kompilieren mit
- 'PCVSTART.O' linken!). Somit werden Shells wie die Mupfel oder Mintshel
- voll unterstützt.
-
- Haben Sie PAULA als ACC installiert? Dann können Sie MP.TTP im normalen
- Desktop als Anwendung für '*.MOD' anmelden; dann lassen sich Module
- auch auf Doppelklick hin abspielen. MP soll kein Musterbeispiel für
- gelungene C-Programmierung darstellen, es wurde Wert auf Einfachheit
- gelegt. MP inklusive den Quellcodes ist Public Domain!
-
-
- CHECKMOD - kaputte Module reparieren
- ====================================
- Irgendwann wird Paula ein Modul mit dem Kommentar 'Corrupted MODfile'
- verwerfen. In diesem Fall kann CHECKMOD helfen: einfach starten und als
- Parameter den Namen des Moduls (inklusive Pfad) angeben. Bei den
- neueren TOSsen reicht es, das fragliche Modul auf das CHECKMOD-Icon zu
- ziehen. Checkmod liest das Modul und gibt eine Liste mit den benutzten
- Samples aus. Außerdem gibt Checkmod die Art des Fehlers aus.
- Corrupted Pattern List: Dieses Modul kann nicht mehr automatisch
- repariert werden.
-
- Short Sample: Ein Sample ist zu kurz geraten. Falls dieser Fehler nur
- das letzte Sample betrifft und die Differenz zwischen Ist- und Soll-
- Länge nicht zu groß ist, sind die 'Heilungschancen' gut. Paula
- toleriert maximal 4 fehlende Bytes.
-
- Superfluous Data in MODfile: Am Modul hängen noch überflüssige Daten.
- Diesen Fehler behebt Checkmod problemlos. Paula toleriert bis zu 256
- Bytes überflüssiger Daten.
-
- Nachdem Checkmod gelaufen ist, erscheint der Text: Save Module as:
- Einfach <Return> verläßt das Programm ohne weitere Aktionen, ein Punkt
- '.' speichert das Modul unter gleichem Namen neu ab. Wenn Sie einen
- neuen Pfad und Namen angeben, wird das Modul unter diesem neuen Namen
- gespeichert.
-
-
- Bibliographie
- =============
- [1] Jankowski/Rabich/Reschke
- Atari Profibuch ST/STE/TT
- Sybex Verlag, ISBN 3-88745-888-5
-
- [2] Amiga Hardware Reference Manual
- Addison-Wesley, ISBN 0-201-18157-6
-
- [3] Thomsen
- Digitale Audiotechnik
- Franzis' Verlag, ISBN 3-7723-7151-5
-
- [4] DDS - Direkte Digitale Synthese
- Elektor No257, Mai 1992, s.52ff
-
- [5] Ulrich Michels
- dtv Atlas zur Musik, Band 1 (Akustik, Wellenlehre, Tonparameter)
- Deutscher Taschenbuch Verlag, ISBN 3-423-03022-4
-
-
-
- Registrier-Formular
- ===================
- Ich benutze PAULA, Version 2._ _ und möchte mich registrieren lassen.
-
- Vorname, Name: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- Straße: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- Plz, Ort: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
-
- Platz für Kommentare, Verbesserungsvorschläge und Fehlermeldungen
- (bei Problemen bitte auch die verwendete Hard- und Software mit
- angeben):
-
-
-
-
-
-
-
- -----------------------------------------------------------------
-
-